public class PatternPrint {
    /**
     * 打印图像
     * author:王锦林
     * date:2025-6-13
     */
    public static void main(String[] args) {
        // 图案 1
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3 - i; j++) {
                System.out.print(" ");
            }
            for (int k = 0; k < 2 * i + 1; k++) {
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println();

        // 图案 2
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) {
                if (j < 3 - i) {
                    System.out.print(" ");
                } else {
                    System.out.print("* ");
                }
            }
            System.out.println();
        }
        System.out.println();
        // 图案 3
        String[] patterns = {"*******", "*** ***", "**   **", "*     *"};
        for (String pattern : patterns) {
            System.out.println(pattern);
        }
        System.out.println();

        // 图案 4（数字对称金字塔）
        for (int i = 1; i <= 4; i++) {
            for (int j = 0; j < 4 - i; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= i; k++) {
                System.out.print(k);
            }
            for (int m = i - 1; m >= 1; m--) {
                System.out.print(m);
            }
            System.out.println();
        }
        System.out.println();
        // 图案 5（数字蛇形）
        int num = 1;
        int[][] arr = new int[4][4];
        // 填充第一行
        for (int j = 0; j < 4; j++) {
            arr[0][j] = num++;
        }
        // 填充第二行（反向）
        for (int j = 3; j >= 0; j--) {
            arr[1][j] = num++;
        }
        // 填充第三行
        for (int j = 0; j < 4; j++) {
            arr[2][j] = num++;
        }
        // 填充第四行（反向）
        for (int j = 3; j >= 0; j--) {
            arr[3][j] = num++;
        }
        // 打印二维数组
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.print(arr[i][j] + "\t");
            }
            System.out.println();
            //第二个图像
        }
        }
    }
